﻿using System.Data.Entity.Extensions.UnitOfWork;

namespace System.Data.Entity.Extensions.Repository
{
    /// <summary>
    /// 
    /// </summary>
    /// <typeparam name="TEntity"></typeparam>
    public interface IDbContextRepository<TEntity> : IRepository<TEntity> where TEntity : class
    {
        #region UnitOfWork

        /// <summary>
        /// 
        /// </summary>
        DbContextUnitOfWork UnitOfWork
        {
            get;
        }

        #endregion

        #region Context

        /// <summary>
        /// 
        /// </summary>
        DbContext Context
        {
            get;
        }

        #endregion

        #region Set

        /// <summary>
        /// 
        /// </summary>
        DbSet<TEntity> Set
        {
            get;
        }

        #endregion
    }
}
